# 什么是实例属性什么是类属性,实例属性的调用方式,类属性的调用方式

# 实例属性
# 定义类
class Person:
    # 定义对象方法
    def run(self):
        print(self)
        print('跑')


# 创建对象,实例属性调用
p1 = Person()
print(p1)
# 对象.方法名()
p1.run()

p2 = Person()
print(p2)
p2.run()



# 类属性
# 定义类
class Person:
    # 定义类属性
    # 类属性名 = 属性值
    country = 'china'

    # 定义类方法
    @classmethod  # 装饰器  - python语法高级
    def get_country(cls):
        print(cls.country)

    @classmethod
    def fn(cls):
        print(cls)


# 类属性访问-外部
# 类名.类属性名
print(Person.country)

# 对象.类属性名
p1 = Person()
print(p1.country)

# 类属性的调用
# 类名.类方法()
Person.get_country()

print(Person)
Person.fn()

# 对象.类方法()
p1 = Person()
p1.fn()
